home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dorm2l.z / dorm2l
Encoding:
Text File  |  2002-10-03  |  4.5 KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDOOOORRRRMMMM2222LLLL((((3333SSSS))))                                                          DDDDOOOORRRRMMMM2222LLLL((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DORM2L - overwrite the general real m by n matrix C with  Q * C if SIDE =
  10.      'L' and TRANS = 'N', or  Q'* C if SIDE = 'L' and TRANS = 'T', or  C * Q
  11.      if SIDE = 'R' and TRANS = 'N', or  C * Q' if SIDE = 'R' and TRANS = 'T',
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE DORM2L( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO
  15.                         )
  16.  
  17.          CHARACTER      SIDE, TRANS
  18.  
  19.          INTEGER        INFO, K, LDA, LDC, M, N
  20.  
  21.          DOUBLE         PRECISION A( LDA, * ), C( LDC, * ), TAU( * ), WORK( *
  22.                         )
  23.  
  24. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  25.      These routines are part of the SCSL Scientific Library and can be loaded
  26.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  27.      directs the linker to use the multi-processor version of the library.
  28.  
  29.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  30.      4 bytes (32 bits). Another version of SCSL is available in which integers
  31.      are 8 bytes (64 bits).  This version allows the user access to larger
  32.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  33.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  34.      only one of the two versions; 4-byte integer and 8-byte integer library
  35.      calls cannot be mixed.
  36.  
  37. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  38.      DORM2L overwrites the general real m by n matrix C with Q * C if SIDE =
  39.      'L' and TRANS = 'N', or Q'* C if SIDE = 'L' and TRANS = 'T', or C * Q if
  40.      SIDE = 'R' and TRANS = 'N', or C * Q' if SIDE = 'R' and TRANS = 'T',
  41.      where Q is a real orthogonal matrix defined as the product of k
  42.      elementary reflectors
  43.  
  44.            Q = H(k) . . . H(2) H(1)
  45.  
  46.      as returned by DGEQLF. Q is of order m if SIDE = 'L' and of order n if
  47.      SIDE = 'R'.
  48.  
  49.  
  50. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  51.      SIDE    (input) CHARACTER*1
  52.              = 'L': apply Q or Q' from the Left
  53.              = 'R': apply Q or Q' from the Right
  54.  
  55.      TRANS   (input) CHARACTER*1
  56.              = 'N': apply Q  (No transpose)
  57.              = 'T': apply Q' (Transpose)
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDOOOORRRRMMMM2222LLLL((((3333SSSS))))                                                          DDDDOOOORRRRMMMM2222LLLL((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      M       (input) INTEGER
  75.              The number of rows of the matrix C. M >= 0.
  76.  
  77.      N       (input) INTEGER
  78.              The number of columns of the matrix C. N >= 0.
  79.  
  80.      K       (input) INTEGER
  81.              The number of elementary reflectors whose product defines the
  82.              matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
  83.              0.
  84.  
  85.      A       (input) DOUBLE PRECISION array, dimension (LDA,K)
  86.              The i-th column must contain the vector which defines the
  87.              elementary reflector H(i), for i = 1,2,...,k, as returned by
  88.              DGEQLF in the last k columns of its array argument A.  A is
  89.              modified by the routine but restored on exit.
  90.  
  91.      LDA     (input) INTEGER
  92.              The leading dimension of the array A.  If SIDE = 'L', LDA >=
  93.              max(1,M); if SIDE = 'R', LDA >= max(1,N).
  94.  
  95.      TAU     (input) DOUBLE PRECISION array, dimension (K)
  96.              TAU(i) must contain the scalar factor of the elementary reflector
  97.              H(i), as returned by DGEQLF.
  98.  
  99.      C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
  100.              On entry, the m by n matrix C.  On exit, C is overwritten by Q*C
  101.              or Q'*C or C*Q' or C*Q.
  102.  
  103.      LDC     (input) INTEGER
  104.              The leading dimension of the array C. LDC >= max(1,M).
  105.  
  106.      WORK    (workspace) DOUBLE PRECISION array, dimension
  107.              (N) if SIDE = 'L', (M) if SIDE = 'R'
  108.  
  109.      INFO    (output) INTEGER
  110.              = 0: successful exit
  111.              < 0: if INFO = -i, the i-th argument had an illegal value
  112.  
  113. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  114.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  115.  
  116.      This man page is available only online.
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.